[package]
name = "chatbox"
version = "0.0.8-alpha"
authors = ["Your Name <you@example.com>"]
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
aes = "0.8.1"
anyhow = "1.0.38"
approx = { version = "0.5.1", optional = true }
cbc = { version = "0.1.2", features = ["alloc", "std"] }
base64 = "0.20.0"
clap = "4.0.26"
lazy_static = "1.4.0"
itertools = "0.10.0"
num-bigint = { version = "0.4.0" }
num-rational = "0.4.0"
num-traits = "0.2.14"
num-integer = "0.1.44"
matches = "0.1.8"
nalgebra = { version = "0.31.0", optional = true, features = ["sparse"] }
rand = "0.8.2"
rand_chacha = "0.3.0"
regex = { version = "1.4.3", default_features = false, features = ["std"] }
serde_yaml = "0.9.14"
sha3 = "0.10.1"

[features]
linalg = ["nalgebra", "approx"]

[dev-dependencies]
quickcheck = "1.0.3"
quickcheck_macros = "1.0.0"
num-bigint = { version = "0.4.0", features = ["quickcheck"] }

[profile.bench]
opt-level = 'z'   # Optimize for size.
lto = true        # Enable Link Time Optimization
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
debug = true

[profile.release]
opt-level = 'z'   # Optimize for size.
lto = true        # Enable Link Time Optimization
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
debug = true
panic = 'abort'   # Abort on panic

[profile.test]
debug = true
# default = []
# "linalg"]
